home *** CD-ROM | disk | FTP | other *** search
/ Winzipper / Winzipper_ISO.iso / nt4.0 server / DRVLIB.NIC / EPRONT / OEMSETUP.INF < prev    next >
INI File  |  1996-07-31  |  31KB  |  1,044 lines

  1. ;***********************************************************************
  2. ;
  3. ; OEMSETNT.INF
  4. ;
  5. ;       Intel EtherExpress PRO/10 Adapter and Driver SETUP INF file.
  6. ;
  7. ;       PROSet Version 1.32
  8. ;
  9. ;***********************************************************************
  10. [Identification]
  11.     OptionType = NetAdapter
  12.  
  13. [PlatformsSupported]
  14.     ISA
  15.     EISA
  16.     "Jazz-Internal Bus"
  17.  
  18. [LanguagesSupported]
  19.     ENG
  20.  
  21. [Options]
  22.     EPRONT
  23.  
  24. [OptionsTextENG]
  25.     EPRONT = "Intel EtherExpress PRO/10+ Adapter"
  26.  
  27. [Files-Inf]
  28. 1, oemsetup.inf, SIZE=50000, RENAME=$(!UG_Filename)
  29.  
  30. [Files-EPRONT]
  31. 1, EPRONT.SY_, SIZE=50000, RENAME=EPRONT.SYS
  32.  
  33. [Files-PROSet]
  34. 1, PROSET.EX_, SIZE=50000, RENAME=PROSET.EXE
  35. 1, EPRO10.DL_, SIZE=50000, RENAME=EPRO10.DLL
  36. 1, PROKDD.DL_, SIZE=50000, RENAME=PROKDD.DLL
  37. 1, EPRODIAG.DL_, SIZE=50000, RENAME=EPRODIAG.DLL
  38. 1, MFC30.DL_, SIZE=50000, RENAME=MFC30.DLL
  39. 1, MSVCRT20.DL_, SIZE=50000, RENAME=MSVCRT20.DLL
  40. 1, RESMGR.DL_, SIZE=50000, RENAME=RESMGR.DLL
  41. 1, EPROSET.HL_, SIZE=50000, RENAME=EPROSET.HLP
  42. 1, CTL3D32.DL_, SIZE=50000, RENAME=CTL3D32.DLL
  43.  
  44. [Files-PROSet-Drivers]
  45. 1, EPRODIAG.SY_, SIZE=50000, RENAME=EPRODIAG.SYS
  46. 1, PROKDD.SY_, SIZE=50000, RENAME=PROKDD.SYS
  47. 1, PROIORES.SY_, SIZE=50000, RENAME=PROIORES.SYS
  48.  
  49.  
  50. [FileConstants]
  51. UtilityInf      = "UTILITY.INF"
  52. ParamInf        = "NCPARAM.INF"
  53. subroutineinf   = "SUBROUTN.INF"
  54. SoftwareType    = "driver"
  55. Exit_Code       = 0
  56.  
  57. NetEventDLL     = "%SystemRoot%\System32\netevent.dll"
  58. IoLogMsgDLL     = "%SystemRoot%\System32\IoLogMsg.dll"
  59.  
  60. Manufacturer    =  "Intel"
  61. ProductMajorVersion     = "2"
  62. ProductMinorVersion     = "0"
  63. ProductVersion  = $(ProductMajorVersion)"."$(ProductMinorVersion)
  64.  
  65. ProductSoftwareName     = "EPRO"
  66. ProductSoftwareTitle    = "Intel PRO/10 Driver"
  67. ProductSoftwareImagePath = "\SystemRoot\System32\drivers\epront.sys"
  68. NetRuleSoftwareType     = "eproSys ndisDriver eproDriver"
  69. NetRuleSoftwareUse      = $(SoftwareType)
  70. NetRuleSoftwareBindForm = """EPROSys"" yes no container"
  71. NetRuleSoftwareClass    = {"eproDriver basic"}
  72. NetRuleSoftwareBindable = {"eproDriver eproAdapter non exclusive 100"}
  73.  
  74. Configure = "EPRO10_Configure"
  75. Detect = "EPRO10_Detect"
  76. Diagnose = "EPRO10_Diagnose"
  77. DLL = "EPRO10.DLL"
  78. RegistryKey = "EPRO10_GetRegistryKey"
  79. Summary = "EPRO10_Resource_Summary"
  80. Adapter = "Intel EtherExpress PRO/10 Adapter"
  81. InstallAnyway = "EPRO10_InstallAnyway"
  82. DeviceExist = "EPRO10_DeviceExist"
  83. AdapterDescription = "EPRO10_GetAdapterDescription"
  84. AutoIOEnable = "1"
  85. PnPIOEnable = "1"
  86. Helpfile = "EPROSET.HLP"
  87.  
  88. BusNumber="0,2,BusNumber,0,2,0,0,16,1"
  89. BusType="0,2,BusType,0,2,1,2,5,1"
  90. Conproc="1,2,Concurrent Processing,0,4,On,On,1,Off,0"
  91. PnP="1,3,Plug and Play,0,4,On,On,1,Off,0"
  92. Force8="1,2,Force 8-Bit Mode,0,4,Off,On,1,Off,0"
  93. ForceDpx="1,4,Duplex Mode,0,1,Half,Auto,Half,Full"
  94. PowerMgt="1,4,Power Management,0,4,Off,On,1,Off,0"
  95. RPL="1,2,Remote Boot,0,4,None,None,0,ODI,2,NDIS,3"
  96.  
  97. ProductHardwareName     = "EPRO"
  98. ProductHardwareTitle    = "Intel PRO/10 Adapter"
  99. NetRuleHardwareType     = "epro eproAdapter"
  100. NetRuleHardwareBindForm = " yes yes container"
  101. NetRuleHardwareClass    = {"eproAdapter basic"}
  102.  
  103. EE16_1BYTE      = 139
  104. EE16_2BYTE      = 98
  105. NETCARD_ID      = 25227
  106.  
  107. ProductKeyName  = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(ProductSoftwareName)"\CurrentVersion"
  108. ParamKeyName    = $(!NTN_ServiceBase)"\"$(ProductHardwareName)"\Parameters"
  109.  
  110. PROSetKeyName = $(!NTN_ServiceBase)"\PROSet"
  111. PROSetAdapterName = "EPRO10"
  112. PROSetParameters = "Parameters"
  113.  
  114. [ProductType]
  115. STF_PRODUCT  = Winnt
  116. STF_PLATFORM = I386
  117.  
  118. [GeneralConstants]
  119. from      = ""
  120. to        = ""
  121. ExitCodeOk     = 0
  122. ExitCodeCancel = 1
  123. ExitCodeFatal  = 2
  124.  
  125. KeyNull         = ""
  126. MAXIMUM_ALLOWED   = 33554432
  127. RegistryErrorIndex = NO_ERROR
  128. KeyProduct      = ""
  129. KeyParameters   = ""
  130.  
  131. TRUE            = 1
  132. FALSE           = 0
  133. NoTitle         = 0
  134.  
  135. ExitState   = "Active"
  136. OldVersionExisted = $(FALSE)
  137.  
  138. DriverPath      = $(!STF_NTPATH)\drivers
  139.  
  140. [FileConstantsENG]
  141. ProCaption   = "Windows NT Setup"
  142. ProCancel    = "Cancel"
  143. ProCancelMsg = "Windows NT Networking is not correctly installed.  "+
  144.            "Are you sure you want to cancel copying files?"
  145.  
  146. ProCancelCap = "Network Setup Message"
  147. ProText1     = "Copying:"
  148. ProText2     = "To:"
  149.  
  150. FunctionTitle = "Intel EtherExpress PRO/10 Adapter Setup"
  151. ProductSoftwareDescription = "Intel EtherExpress PRO/10 Driver"
  152. ProductHardwareDescription = "Intel EtherExpress PRO/10 Adapter"
  153.  
  154. [DialogConstantsENG]
  155. Help        = "&Help"
  156. Exit        = "Cancel"
  157. OK          = "OK"
  158. HelpContext = ""
  159. Continue    = "Continue"
  160. Cancel      = "Cancel"
  161.  
  162. [date]
  163.     Now = {} ? $(!LIBHANDLE) GetSystemDate
  164.  
  165. [Source Media Descriptions]
  166.     1  = "Windows NT DRVLIB"  
  167.  
  168. [Signature]
  169.     FileType = MICROSOFT_DRVLIB_FILE
  170. [GetSignature]
  171.     read-syms Signature
  172.     return $(FileType)
  173.  
  174. [Identify]
  175.     read-syms Identification
  176.  
  177. ;    set !G:DebugOutputControl = 1
  178.  
  179.     set Status     = STATUS_SUCCESSFUL
  180.     set Identifier = $(OptionType)
  181.     set Media      = #("Source Media Descriptions", 1, 1)
  182.  
  183.     Return $(Status) $(Identifier) $(Media)
  184.  
  185. [ReturnOptions]
  186.     set Status        = STATUS_FAILED
  187.     set OptionList     = {}
  188.     set OptionTextList = {}
  189.     set LanguageList = ^(LanguagesSupported, 1)
  190.     Ifcontains(i) $($0) in $(LanguageList)
  191.     ifstr(i) $($1) == ""
  192.         goto returnoptions
  193.     endif
  194.  
  195.     set PlatformList = ^(PlatformsSupported, 1)
  196.     Ifcontains(i) $($1) in $(PlatformList)
  197.         goto returnoptions
  198.     else
  199.         set Status = STATUS_NOTSUPPORTED
  200.         goto finish_ReturnOptions
  201.     endif
  202.     else
  203.     set Status = STATUS_NOLANGUAGE
  204.     goto finish_ReturnOptions
  205.     endif
  206.  
  207. returnoptions = +
  208.     set OptionList     = ^(Options, 1)
  209.     set OptionTextList = ^(OptionsText$($0), 1)
  210.     set Status         = STATUS_SUCCESSFUL
  211.  
  212. finish_ReturnOptions = +
  213.     Return $(Status) $(OptionList) $(OptionTextList)
  214.  
  215. [InstallOption]
  216. ;    set !G:DebugOutputControl = 1
  217.     set Status   = STATUS_FAILED
  218.     set Option   = $($1)
  219.     set SrcDir   = $($2)
  220.     set AddCopy  = $($3)
  221.     set DoCopy   = $($4)
  222.     set DoConfig = $($5)
  223.  
  224.     set LanguageList = ^(LanguagesSupported, 1)
  225.     Ifcontains(i) $($0) NOT-IN $(LanguageList)
  226.     Return STATUS_NOLANGUAGE
  227.     endif
  228.  
  229.     set-subst LF = "\n"
  230.  
  231.     read-syms GeneralConstants
  232.     read-syms FileConstants
  233.  
  234.     read-syms DialogConstants$(!STF_LANGUAGE)
  235.     ifstr(i) $(!NTN_Origination) == "NCPA"
  236.     set Continue = "OK"
  237.     endif
  238.     read-syms FileConstants$(!STF_LANGUAGE)
  239.  
  240.     detect date
  241.  
  242.     set-title  $(FunctionTitle)
  243.  
  244.     set to   = Begin
  245.     set from = Begin
  246.  
  247.     Shell $(UtilityInf), GetBusTypeNum
  248.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  249.     goto ShellCodeError
  250.     endif
  251.     Set PlatformList = ^(PlatformsSupported, 1)
  252.     Set MachineType = *($(PlatformList), $($R1))
  253.  
  254.     set CommonStatus = STATUS_SUCCESSFUL
  255.  
  256.     EndWait
  257.  
  258.  
  259. Begin = +
  260.     Set ActivateDetection = FALSE
  261.  
  262.     Ifstr(i) $(!NTN_InstallMode) == deinstall
  263.     set StartLabel = removeadapter
  264.     else-Ifstr(i) $(!NTN_InstallMode) == Update
  265.     set StartLabel = UpgradeSoftware
  266.     else-Ifstr(i) $(!NTN_InstallMode) == bind
  267.     set StartLabel = bindingadapter
  268.     else-Ifstr(i) $(!NTN_InstallMode) == configure
  269.     set ActivateDetection = TRUE
  270.     set StartLabel = configureadapter
  271.     ifstr(i) $(MachineType) == "MCA"
  272.         Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
  273.         Shell $(UtilityInf),RegistryErrorString,CANNOT_CONFIGURE_SOFTWARE
  274.         else
  275.         Shell $(UtilityInf),RegistryErrorString,CANNOT_CONFIGURE_HARDWARE
  276.         endif
  277.         set Error = $($R0)
  278.         set from = end
  279.         set to = end
  280.         goto nonfatalinfo
  281.     endif
  282.     Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
  283.         Shell $(UtilityInf),RegistryErrorString,CANNOT_CONFIGURE_SOFTWARE
  284.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  285.         goto ShellCodeError
  286.         endif
  287.         set Error = $($R0)
  288.         set from = end
  289.         set to = end
  290.         goto nonfatalinfo
  291.     endif
  292.     else
  293.     set ActivateDetection = TRUE
  294.     set StartLabel = installadapter
  295.     set OEM_ABANDON_OPTIONS = {}
  296.     set OEM_ABANDON_SOFTWARE = FALSE
  297.     set OEM_ABANDON_ON = TRUE
  298.     endif
  299.  
  300.     Set DetectedCard = FALSE
  301.  
  302.     Ifstr(i) $(ActivateDetection) != TRUE
  303.     Goto $(StartLabel)
  304.     Endif
  305.  
  306.     ifstr(i) $(MachineType) == "MCA"
  307.     goto CheckForMCA
  308.     endif
  309.  
  310.     set IRQValue = *($(IRQList), 2)
  311.     set IOAddrValue = *($(IOAddrList), 1)
  312.     set IOReadyValue = *($(IOReadyList), 2)
  313.     set TransceiverValue = *($(TransceiverList), 4)
  314.  
  315.     Ifstr(i) $(!STF_NCDETECT) == YES
  316.     Ifstr(i) $(!STF_NCOPTION) == $(Option)
  317.        Set DetectedCard = TRUE
  318.     Endif
  319.     Endif
  320.  
  321.     Shell "" DebugConfiguration "After parameter querying"
  322.  
  323.     Set from = $(fatal)
  324.     Set to = $(fatal)
  325.     Goto $(StartLabel)
  326.  
  327.  
  328. installadapter = +
  329.     OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
  330.  
  331.     Ifstr $(KeyProduct) != $(KeyNull)
  332.     set ValueName = ""
  333.     set ValueData = ""
  334.     set ValueStr  = ""
  335.     set ValueList = {}
  336.     set InstVersion = ""
  337.     set InstMajorVersion = ""
  338.     set InstMinorVersion = ""
  339.     EnumRegValue $(KeyProduct) ValueList
  340.     ForListDo $(ValueList)
  341.         set ValueItem = $($)
  342.         set ValueName = *($(ValueItem),1)
  343.         set ValueData = *($(ValueItem),4)
  344.         Ifstr(i) $(ValueName) == "MajorVersion"
  345.            set InstMajorVersion = $(ValueData)
  346.         else-ifstr(i) $(ValueName) == "MinorVersion"
  347.           set InstMinorVersion = $(ValueData)
  348.        endif
  349.     EndForListDo
  350.     set InstVersion = $(InstMajorVersion)"."$(InstMinorVersion)   
  351.      CloseRegKey $(KeyProduct)
  352.  
  353.     ifstr(i) !(NTN_RegBase) == $(ProductKeyName)
  354.        Shell $(UtilityInf), VerExistedDlg, $(ProductSoftwareTitle),+
  355.            $(ProductVersion)
  356.        ifint $($ShellCode) != $(!SHELL_CODE_OK)
  357.            goto ShellCodeError
  358.        endif
  359.  
  360.        goto end
  361.     else
  362.        ifstr(i) $(ProductVersion) != $(InstVersion)
  363.          Shell "Subroutn.Inf" SetupMessage $(!STF_LANGUAGE) "WARNING" +
  364.      "There is a different version of this driver currently installed. Update installed adapters with this disk before adding another adapter."
  365.          goto end
  366.       endif
  367.  
  368.        Shell $(UtilityInf), CardExistedDlg
  369.  
  370.        ifint $($ShellCode) != $(!SHELL_CODE_OK)
  371.            goto ShellCodeError
  372.        endif
  373.  
  374.        ifstr(i) $($R1) != "OK"
  375.            goto end
  376.        endif
  377.        set OldVersionExisted = $(TRUE)
  378.     endif
  379.     endif
  380.  
  381.     Ifstr(i) $(DetectedCard) != TRUE
  382.     Goto adaptersetup
  383.     Endif
  384. CheckForMCA = +    
  385.     StartWait
  386.     Shell $(UtilityInf), MCAFindBus, $(EE16_1BYTE), $(EE16_2BYTE)
  387.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  388.     goto CheckForISA
  389.     endif
  390.     ifstr $($R0) != "NO_ERROR"
  391.     goto CheckForISA
  392.     endif
  393.     ifstr(i) $($R1) == {}
  394.     set Error = $(CANNOT_FIND_ANY_CARD)
  395.     set CommonStatus = USER_CANCEL
  396.     set from = "end"
  397.     goto nonfatal
  398.     endif
  399.     set AdapterList = $($R1)
  400.     goto skipoptions
  401.  
  402. CheckForISA = +
  403.  
  404.     Shell $(ParamInf) Param_QueryCard $(!STF_NCDETCARD)
  405.     EndWait
  406.     Ifstr(i) $($R0) != STATUS_SUCCESSFUL
  407.     Goto adaptersetup
  408.     Endif
  409.     Set DetectedParams = $($R1)
  410.     Shell $(ParamInf) Param_SetDefaults $(DetectedParams)
  411.  
  412.     goto adaptersetup
  413.  
  414. configureadapter = +
  415.     Ifstr $(KeyProduct) == $(KeyNull)
  416.     OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) $(MAXIMUM_ALLOWED) KeyProduct
  417.     Ifstr $(KeyProduct) == $(KeyNull)
  418.         set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
  419.         goto fatalregistry
  420.     Endif
  421.     Endif
  422.    GetRegValue $(KeyProduct),"ServiceName", AdapterServiceKey
  423.    set AdapterServiceKey = *($(AdapterServiceKey),4)
  424.  
  425.     Shell $(UtilityInf) FindService, $(KeyProduct)
  426.     Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  427.     Goto ShellCodeError
  428.     Endif
  429.     Ifstr(i) $($R0) != NO_ERROR
  430.     Goto fatalregistry
  431.     endif
  432.  
  433.     Set KeyParameters = $($R2)
  434.  
  435.     CloseRegKey $($R1)
  436.  
  437.     Ifstr $(KeyParameters) == $(KeyNull)
  438.     set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
  439.     goto fatalregistry
  440.     endif
  441.  
  442.     set OldVersionExisted = $(TRUE)
  443.  
  444.     set ValueName = ""
  445.     set ValueData = ""
  446.     set ValueStr  = ""
  447.     set ValueList = {}
  448.  
  449. adaptersetup = +
  450.  
  451.     Shell "" DebugConfiguration "before displaying dialog"
  452.  
  453.     
  454.     Shell "" DebugConfiguration "After List Translation"
  455.     
  456.     Shell $(ParamInf) Param_ParameterConfidence
  457.     Ifstr(i) $($R0) != STATUS_SUCCESSFUL
  458.     Goto adapteroptions
  459.     Endif
  460.     Ifstr(i) $(DetectedCard) == TRUE
  461.     Ifstr(i) $(!STF_INSTALL_MODE) != CUSTOM
  462.         Goto adapterverify
  463.     Endif
  464.     Endif
  465.  
  466. adapteroptions = +
  467.     Set from = adapteroptions
  468.  
  469. adapterverify = +
  470.  
  471.     Shell "" DebugConfiguration "after running dialog"
  472.  
  473.     Ifstr(i) $(DetectedCard) != TRUE
  474.     Goto skipoptions
  475.     Endif
  476.  
  477.     Shell $(ParamInf) Param_VerifyCard $(!STF_NCDETCARD)
  478.     Ifstr(i) $($R0) == STATUS_SUCCESSFUL
  479.     Goto skipoptions
  480.     Endif
  481.     Set from = adapteroptions
  482.     Set to = skipoptions
  483.     Shell $(UtilityInf),RegistryErrorString,VERIFY_WARNING
  484.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  485.     goto ShellCodeError
  486.     endif
  487.     set Error = $($R0)
  488.     Goto Warning
  489.  
  490. skipoptions =+
  491.  
  492.     ifint $(OldVersionExisted) == $(TRUE)
  493.     ifstr(i) $(!NTN_InstallMode) == configure
  494.         goto writeparameters
  495.     endif
  496.     endif
  497.     StartWait
  498.     ifint $(OldVersionExisted) == $(FALSE)
  499.     ifstr(i) $(!NTN_InstallMode) == "install"
  500.        Ifstr(i) $(DoCopy) == "YES"
  501.  
  502.           Shell $(UtilityInf), DoAskSource, $(!STF_CWDDIR), $(SrcDir) YES
  503.  
  504.           Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  505.           Goto ShellCodeError
  506.           Else-Ifstr(i) $($R0) == STATUS_FAILED
  507.           Shell $(UtilityInf) RegistryErrorString "ASK_SOURCE_FAIL"
  508.           ifint $($ShellCode) != $(!SHELL_CODE_OK)
  509.               goto ShellCodeError
  510.           endif
  511.           set Error = $($R0)
  512.           Goto fatal
  513.           Else-Ifstr(i) $($R0) == STATUS_USERCANCEL
  514.           Goto successful
  515.           Endif
  516.  
  517.           Set SrcDir = $($R1)
  518.  
  519.        Endif
  520.  
  521.        install "Install-Option"
  522.        ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
  523.           Shell $(UtilityInf) RegistryErrorString "UNABLE_COPY_FILE"
  524.           ifint $($ShellCode) != $(!SHELL_CODE_OK)
  525.           goto ShellCodeError
  526.           endif
  527.           set Error = $($R0)
  528.           goto fatal
  529.        endif
  530.     endif
  531.  
  532.     Shell $(UtilityInf), AddSoftwareComponent, $(Manufacturer), +
  533.         $(ProductSoftwareName), +
  534.         $(ProductSoftwareName), +
  535.         $(ProductSoftwareTitle), $(STF_CONTEXTINFNAME), +
  536.         $(ProductSoftwareImagePath), "kernel", "NDIS", {}, "",+
  537.         $(NetEventDLL)
  538.  
  539.     Set OEM_ABANDON_SOFTWARE = TRUE
  540.  
  541.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  542.         goto ShellCodeError
  543.     endif
  544.     set RegistryErrorIndex = $($R0)
  545.     set KeyProduct      = $($R1)
  546.     Set SoftNetRulesKey = $($R2)
  547.     CloseRegKey $($R3)
  548.     CloseRegKey $($R4)
  549.     CloseRegKey $($R5)
  550.  
  551.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  552.         EndWait
  553.         CloseRegKey $(KeyProduct)
  554.         CloseRegKey $(SoftNetRulesKey)
  555.         goto fatalregistry
  556.     endif
  557.  
  558.     set NewValueList = {{SoftwareType,$(NoTitle),$(!REG_VT_SZ),$(SoftwareType)},+
  559.                {MajorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMajorVersion)},+
  560.                {MinorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMinorVersion)},+
  561.                {Title,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareTitle)},+
  562.                {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareDescription)},+
  563.                {ServiceName,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareName)},+
  564.                {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
  565.  
  566.     Shell  $(UtilityInf), AddValueList, $(KeyProduct), $(NewValueList)
  567.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  568.         goto ShellCodeError
  569.     endif
  570.  
  571.     set RegistryErrorIndex = $($R0)
  572.  
  573.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  574.         EndWait
  575.         CloseRegKey $(KeyProduct)
  576.         CloseRegKey $(SoftNetRulesKey)
  577.         goto fatalregistry
  578.     endif
  579.  
  580.     set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareType)},+
  581.                 {use,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareUse)}, +
  582.                 {bindform,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareBindForm)}, +
  583.                 {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareClass)}, +
  584.                 {bindable,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareBindable)}, +
  585.                 {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}
  586.  
  587.     Shell  $(UtilityInf), AddValueList, $(SoftNetRulesKey), $(NewValueList)
  588.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  589.         goto ShellCodeError
  590.     endif
  591.  
  592.     set RegistryErrorIndex = $($R0)
  593.  
  594.     CloseRegKey $(KeyProduct)
  595.     CloseRegKey $(SoftNetRulesKey)
  596.  
  597.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  598.         EndWait
  599.         goto fatalregistry
  600.     endif
  601.     endif
  602.     Shell $(UtilityInf), AddHardwareComponent, $(ProductHardwareName),$(STF_CONTEXTINFNAME),$(ProductKeyName)
  603.  
  604.     ifint $($R4) != -1
  605.     Set OEM_ABANDON_OPTIONS = >($(OEM_ABANDON_OPTIONS), $(!NTN_SoftwareBase)"\Microsoft\Windows NT\CurrentVersion\NetworkCards\"$($R4))
  606.     endif
  607.  
  608.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  609.     goto ShellCodeError
  610.     endif
  611.  
  612.     set RegistryErrorIndex = $($R0)
  613.  
  614.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  615.     EndWait
  616.     CloseRegKey $($R1)
  617.     CloseRegKey $($R2)
  618.     CloseRegKey $($R3)
  619.     goto fatalregistry
  620.     endif
  621.  
  622.     set KeyParameters = $($R3)
  623.     set KeyAdapterRules = $($R2)
  624.     set AdapterNumber = $($R4)
  625.  
  626.     set NewValueList = {{Manufacturer,$(NoTitle),$(!REG_VT_SZ),$(Manufacturer)},+
  627.                {Title,$(NoTitle),$(!REG_VT_SZ),"["$($R4)"] "$(ProductHardwareTitle)},+
  628.                {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductHardwareDescription)},+
  629.                {ProductName,$(NoTitle),$(!REG_VT_SZ),$(ProductHardwareName)},+
  630.                {ServiceName,$(NoTitle),$(!REG_VT_SZ),$($R5)},+
  631.                {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
  632.  
  633.    set AdapterServiceKey = $($R5)
  634.  
  635.     Shell  $(UtilityInf), AddValueList, $($R1), $(NewValueList)
  636.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  637.     goto ShellCodeError
  638.     endif
  639.  
  640.     CloseRegKey $($R1)
  641.  
  642.     set TempProdName = """"$(ProductHardwareName)$(AdapterNumber)""""
  643.     set TempBindForm = $(TempProdName)$(NetRuleHardwareBindForm)
  644.  
  645.     set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleHardwareType)},+
  646.             {bindform,$(NoTitle),$(!REG_VT_SZ),$(TempBindForm)}, +
  647.             {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleHardwareClass)}, +
  648.             {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}
  649.  
  650.     Shell  $(UtilityInf), AddValueList, $(KeyAdapterRules), $(NewValueList)
  651.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  652.     goto ShellCodeError
  653.     endif
  654.  
  655.     set RegistryErrorIndex = $($R0)
  656.  
  657.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  658.     EndWait
  659.     CloseRegKey $(KeyParameters)
  660.     CloseRegKey $(KeyAdapterRules)
  661.     goto fatalregistry
  662.     endif
  663.  
  664.     CloseRegKey $(KeyAdapterRules)
  665.  
  666.     goto writeparameters
  667. writeparameters = +
  668.     Shell $(UtilityInf), GetBusTypeNum
  669.     set BusTypeNum = $($R1)
  670.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  671.     goto ShellCodeError
  672.     endif
  673.     Ifstr(i) $(MachineType) == "MCA"
  674.        set NewValueList = {{BusType,$(NoTitle),$(!REG_VT_DWORD),$(BusTypeNum)},+
  675.               {McaPosId,$(NoTitle),$(!REG_VT_DWORD),$(NETCARD_ID)},+
  676.               {SlotNumber,$(NoTitle),$(!REG_VT_DWORD),$(SlotNum)},+
  677.               {MediaType,$(NoTitle),$(!REG_VT_DWORD),1}}
  678.     else
  679.        Set IOAddrValue = 0
  680.        Shell "" DebugConfiguration "Before Writing Parameters"
  681.        set NewValueList = {{INTERRUPT,$(NoTitle),$(!REG_VT_DWORD),$(IRQValue)},+
  682.               {MediaType,$(NoTitle),$(!REG_VT_DWORD),1},+
  683.               {Transceiver,$(NoTitle),$(!REG_VT_DWORD),$(TransceiverValue)},+
  684.               {IOADDRESS,$(NoTitle),$(!REG_VT_DWORD),$(IOAddrValue)}}
  685.     endif
  686.  
  687.     ifstr(i) $(!NTN_InstallMode) == "install"
  688.       Shell  $(UtilityInf), AddValueList, $(KeyParameters), $(NewValueList)
  689.     endif
  690.  
  691.     CloseRegKey $(KeyParameters)
  692.  
  693.    OpenRegKey $(!REG_H_LOCAL) "" $(PROSetKeyName)"\"Adapters $(MAXIMUM_ALLOWED) PROSetAdapterKey
  694.    ifstr $(PROSetAdapterKey) == $(KeyNull)
  695.       ;Shell "Subroutn.Inf" SetupMessage $(!STF_LANGUAGE) "NONFATAL" OpenRegAdapterFailed
  696.       CreateRegKey $(!REG_H_LOCAL) {$(PROSetKeyName)"\"Adapters,0,GenericClass} "" +
  697.                    $(MAXIMUM_ALLOWED) "" PROSetAdapterKey
  698.       ifstr $(PROSetAdapterKey) == $(KeyNull)
  699.          Shell "Subroutn.Inf" SetupMessage $(!STF_LANGUAGE) "NONFATAL" CreateRegAdapterFailed
  700.          goto fatalregistry
  701.       endif      
  702.    endif
  703.  
  704.    set NewValueList = {{$(PROSetAdapterName),$(NoTitle), $(!REG_VT_SZ), $(Adapter)}}
  705.      Shell  $(UtilityInf), AddValueList, $(PROSetAdapterKey), $(NewValueList)
  706.      CloseRegKey $(PROSetAdapterKey)
  707.     
  708.    OpenRegKey $(!REG_H_LOCAL) "" $(PROSetKeyName)"\"$(PROSetAdapterName) $(MAXIMUM_ALLOWED) PROSetAdapterKey
  709.    ifstr $(PROSetAdapterKey) == $(KeyNull)
  710.       ;Shell "Subroutn.Inf" SetupMessage $(!STF_LANGUAGE) "NONFATAL" OpenRegEPRO10Failed
  711.       CreateRegKey $(!REG_H_LOCAL) {$(PROSetKeyName)"\"$(PROSetAdapterName),0,GenericClass} "" +
  712.                    $(MAXIMUM_ALLOWED) "" PROSetAdapterKey
  713.       ifstr $(PROSetAdapterKey) == $(KeyNull)
  714.          Shell "Subroutn.Inf" SetupMessage $(!STF_LANGUAGE) "NONFATAL" CreateRegEPRO10Failed
  715.          goto fatalregistry
  716.       endif
  717.    endif
  718.     set NewValueList = {{Configure,$(NoTitle),$(!REG_VT_SZ),$(Configure)},+
  719.                         {Detect,$(NoTitle),$(!REG_VT_SZ),$(Detect)},+
  720.                         {Diagnose,$(NoTitle),$(!REG_VT_SZ),$(Diagnose)},+
  721.                         {DLL,$(NoTitle),$(!REG_VT_SZ),$(DLL)},+
  722.                         {AutoIOEnable,$(NoTitle),$(!REG_VT_DWORD),$(AutoIOEnable)},+
  723.                         {PnPIOEnable,$(NoTitle),$(!REG_VT_DWORD),$(PnPIOEnable)},+
  724.                         {Help,$(NoTitle),$(!REG_VT_SZ),$(Helpfile)},+
  725.                         {RegistryKey,$(NoTitle),$(!REG_VT_SZ),$(RegistryKey)},+
  726.                         {InstallAnyway,$(NoTitle),$(!REG_VT_SZ),$(InstallAnyway)},+
  727.                         {DeviceExist,$(NoTitle),$(!REG_VT_SZ),$(DeviceExist)},+
  728.                         {AdapterDescription,$(NoTitle),$(!REG_VT_SZ),$(AdapterDescription)},+
  729.                         {Summary,$(NoTitle),$(!REG_VT_SZ),$(Summary)}}
  730.  
  731.      Shell  $(UtilityInf), AddValueList, $(PROSetAdapterKey), $(NewValueList)
  732.      CloseRegKey $(PROSetAdapterKey)
  733.    OpenRegKey $(!REG_H_LOCAL) "" $(PROSetKeyName)"\"$(PROSetAdapterName)"\"$(PROSetParameters) $(MAXIMUM_ALLOWED) PROSetAdapterKey
  734.    ifstr $(PROSetAdapterKey) == $(KeyNull)
  735.       CreateRegKey $(!REG_H_LOCAL) {$(PROSetKeyName)"\"$(PROSetAdapterName)"\"$(PROSetParameters),0,GenericClass} "" +
  736.            $(MAXIMUM_ALLOWED) "" PROSetAdapterKey
  737.       ifstr $(PROSetAdapterKey) == $(KeyNull)
  738.      Shell "Subroutn.Inf" SetupMessage $(!STF_LANGUAGE) "NONFATAL" CreateRegEPRO10Failed
  739.      goto fatalregistry
  740.       endif
  741.    endif
  742.     set NewValueList = { +
  743.          {BusNumber,$(NoTitle),$(!REG_VT_SZ),$(BusNumber)}, +
  744.          {BusType,$(NoTitle),$(!REG_VT_SZ),$(BusType)}, +
  745.          {Conproc,$(NoTitle),$(!REG_VT_SZ),$(Conproc)}, +
  746.          {Force8,$(NoTitle),$(!REG_VT_SZ),$(Force8)}, +
  747.          {ForceDpx,$(NoTitle),$(!REG_VT_SZ),$(ForceDpx)}, +
  748.          {PnP,$(NoTitle),$(!REG_VT_SZ),$(PnP)}, +
  749.          {PowerMgt,$(NoTitle),$(!REG_VT_SZ),$(PowerMgt)}, +
  750.          {RPL,$(NoTitle),$(!REG_VT_SZ),$(RPL)}, +
  751.                }
  752.  
  753.     Shell  $(UtilityInf), AddValueList, $(PROSetAdapterKey), $(NewValueList)
  754.     CloseRegKey $(PROSetAdapterKey)
  755.  
  756.  
  757.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  758.     goto ShellCodeError
  759.     endif
  760.  
  761.     set RegistryErrorIndex = $($R0)
  762.  
  763.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  764.     goto fatalregistry
  765.     endif
  766.  
  767.     EndWait
  768.  
  769.     RunProgram ExitCode "" "" $(!STF_WINDOWSSYSPATH)\PROSET.EXE $(AdapterServiceKey) 
  770.     Ifstr(i) $(!NTN_InstallMode) != configure
  771.       ifint $(ExitCode) >= 2
  772.           set CommonStatus = STATUS_NO_EFFECT
  773.          goto abandon
  774.       endif
  775.     else
  776.       ifint $(ExitCode) == 0
  777.           set CommonStatus = STATUS_NO_EFFECT
  778.       endif
  779.       ifint $(ExitCode) == 2
  780.          set CommonStatus = STATUS_NO_EFFECT
  781.       endif
  782.     endif
  783.     goto successful
  784.  
  785. bindingadapter =+
  786.     set Error = "Binding: Sorry, not yet implemented."
  787.     goto fatal
  788.  
  789. removeadapter = +
  790.     ;Shell "Subroutn.Inf" SetupMessage $(!STF_LANGUAGE) "NONFATAL" AtRemoveAdapter
  791.     Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
  792.     ; Remove Software Component
  793.     Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), +
  794.         $(ProductSoftwareName)
  795.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  796.         goto ShellCodeError
  797.     endif
  798.  
  799.     set RegistryErrorIndex = $($R0)
  800.  
  801.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  802.         goto fatalregistry
  803.     endif
  804.     else
  805.     Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), +
  806.         $(ProductSoftwareName), $(!NTN_RegBase)
  807.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  808.         goto ShellCodeError
  809.     endif
  810.  
  811.     set RegistryErrorIndex = $($R0)
  812.  
  813.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  814.         goto fatalregistry
  815.     endif
  816.     endif
  817.  
  818.     goto end
  819.  
  820. UpgradeSoftware = +
  821.     OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
  822.  
  823.     Ifstr $(KeyProduct) != $(KeyNull)
  824.         GetRegValue $(KeyProduct),"MajorVersion", VersionInfo
  825.         set Version = *($(VersionInfo), 4)
  826.  
  827.         Split-String $(!NTN_Infname), "\", FilenameList
  828.         QueryListSize ListSize $(FilenameList)
  829.         set !UG_Filename = *($(FilenameList), $(ListSize))
  830.  
  831.         install "Install-Update"
  832.         ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
  833.         goto fatal
  834.         endif
  835.  
  836.         SetRegValue $(KeyProduct) {MajorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMajorVersion)}
  837.         SetRegValue $(KeyProduct) {MinorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMinorVersion)}
  838.  
  839.         ifint $(Version) != $(ProductVersion)
  840.         endif
  841.         CloseRegKey $(KeyProduct)
  842.     else
  843.         goto fatalregistry
  844.     endif
  845.     else
  846.     OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) +
  847.           $(MAXIMUM_ALLOWED) NetworkCardKey
  848.     Ifstr(i) $(NetworkCardKey) != $(KeyNull)
  849.         GetRegValue $(NetworkCardKey),"ServiceName", ServiceNameInfo
  850.         set ServiceName = *($(ServiceNameInfo), 4)
  851.  
  852.         OpenRegKey $(NetworkCardKey) "" "NetRules" +
  853.         $(MAXIMUM_ALLOWED) NetRuleKey
  854.         Ifstr(i) $(NetRuleKey) != $(KeyNull)
  855.         else
  856.         goto fatalregistry
  857.         endif
  858.  
  859.         CloseRegKey $(NetRules)
  860.         CloseRegKey $(NetworkCardKey)
  861.     else
  862.         goto fatalregistry
  863.     endif
  864.     OpenRegKey $(!REG_H_LOCAL) "" +
  865.           $(!NTN_ServiceBase)"\"$(ServiceName) +
  866.           $(MAXIMUM_ALLOWED) ServiceKey
  867.  
  868.     Ifstr(i) $(ServiceKey) != $(KeyNull)
  869.         CloseRegKey $(ServiceKey)
  870.     else
  871.         goto fatalregistry
  872.     endif
  873.     endif
  874.  
  875.     goto end
  876. successful = +
  877.     goto end
  878.  
  879. abandon = +
  880.     ForListDo $(OEM_ABANDON_OPTIONS)
  881.     Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), +
  882.         $(ProductSoftwareName), $($)
  883.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  884.         goto ShellCodeError
  885.     endif
  886.  
  887.     set RegistryErrorIndex = $($R0)
  888.  
  889.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  890.         goto fatalregistry
  891.     endif
  892.     EndForListDo
  893.  
  894.     Ifstr(i) $(OEM_ABANDON_SOFTWARE) == TRUE
  895.     ; Remove Software Component
  896.     Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), +
  897.         $(ProductSoftwareName), FALSE
  898.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  899.         goto ShellCodeError
  900.     endif
  901.  
  902.     set RegistryErrorIndex = $($R0)
  903.  
  904.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  905.         goto fatalregistry
  906.     endif
  907.     endif
  908.  
  909.     goto end
  910.  
  911. warning = +
  912.     Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "WARNING", $(Error)
  913.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  914.     goto ShellCodeError
  915.     endif
  916.     ifstr(i) $($R1) == "OK"
  917.     goto $(to)
  918.     else-ifstr(i) $($R1) == "CANCEL"
  919.     goto $(from)
  920.     else
  921.     goto "end"
  922.     endif
  923. nonfatalinfo = +
  924.     Set Severity = STATUS
  925.     Set CommonStatus = STATUS_USERCANCEL
  926.     goto nonfatalmsg
  927. nonfatal = +
  928.     Set Severity = NONFATAL
  929.     goto nonfatalmsg
  930. nonfatalmsg = +
  931.     ifstr(i) $(Error) == ""
  932.     Set Severity = NONFATAL
  933.     Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
  934.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  935.         goto ShellCodeError
  936.     endif
  937.     set Error = $($R0)
  938.     endif
  939.     Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), $(Severity), $(Error)
  940.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  941.     goto ShellCodeError
  942.     endif
  943.     ifstr(i) $($R1) == "OK"
  944.     goto $(from)
  945.     else
  946.     goto "end"
  947.     endif
  948.  
  949. fatalregistry = +
  950.     Shell $(UtilityInf) RegistryErrorString $(RegistryErrorIndex)
  951.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  952.     goto ShellCodeError
  953.     endif
  954.     set Error = $($R0)
  955.     goto fatal
  956. fataldetect = +
  957.     Shell $(UtilityInf),RegistryErrorString,CANNOT_DETECT
  958.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  959.     goto ShellCodeError
  960.     endif
  961.     set Error = $($R0)
  962.     Goto fatal
  963. fatal = +
  964.     ifstr(i) $(Error) == ""
  965.     Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
  966.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  967.         goto ShellCodeError
  968.     endif
  969.     set Error = $($R0)
  970.     endif
  971.     Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "FATAL", $(Error)
  972.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  973.     goto ShellCodeError
  974.     endif
  975.  
  976.     goto setfailed
  977.  
  978. ShellCodeError = +
  979.     set DlgType      = "MessageBox"
  980.     set STF_MB_TITLE = "Error: "$(FunctionTitle)
  981.     set STF_MB_TEXT  = "Shell Code Error"
  982.     set STF_MB_TYPE  = 1
  983.     set STF_MB_ICON  = 3
  984.     set STF_MB_DEF   = 1
  985.     ui start "Error Message"
  986.     goto setfailed
  987.  
  988. setfailed = +
  989.     set CommonStatus = STATUS_FAILED
  990.     ifstr(i) $(OEM_ABANDON_ON) == TRUE
  991.     set OEM_ABANDON_ON = FALSE
  992.     goto abandon
  993.     endif
  994.     goto end
  995.  
  996. end = +
  997.     goto term
  998.  
  999. term = +
  1000.     Return $(CommonStatus)
  1001.  
  1002.  
  1003. [DebugConfiguration]
  1004.  
  1005.     Set InfName = "OEMNADIN.INF"
  1006.     return
  1007.  
  1008. [Install-Option]
  1009.     set STF_VITAL = ""
  1010.  
  1011.     ifstr(i) $(AddCopy) == "YES"
  1012.  
  1013.     AddSectionFilesToCopyList Files-$(Option) $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
  1014.    AddSectionFilesToCopyList Files-PROSet $(SrcDir)  $(!STF_WINDOWSSYSPATH)
  1015.    AddSectionFilesToCopyList Files-PROSet-Drivers $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
  1016.  
  1017.     endif
  1018.  
  1019.     ifstr(i) $(DoCopy) == "YES"
  1020.  
  1021.        set !STF_NCPA_FLUSH_COPYLIST = TRUE
  1022.        CopyFilesInCopyList
  1023.  
  1024.     endif
  1025.  
  1026.     Exit
  1027.  
  1028. [Install-Update]
  1029.    set STF_VITAL        = ""
  1030.    set STF_OVERWRITE    = "VERIFYSOURCEOLDER"
  1031.    ;set STF_VERSION     = "YES"
  1032.  
  1033.    AddSectionFilesToCopyList Files-$(Option) $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
  1034.    AddSectionFilesToCopyList Files-Inf $(SrcDir) $(!STF_WINDOWSSYSPATH)
  1035.    AddSectionFilesToCopyList Files-PROSet $(SrcDir)  $(!STF_WINDOWSSYSPATH)
  1036.    AddSectionFilesToCopyList Files-PROSet-Drivers $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
  1037.  
  1038.    set !STF_NCPA_FLUSH_COPYLIST = TRUE
  1039.    CopyFilesInCopyList
  1040.  
  1041.    exit
  1042.  
  1043.  
  1044.